package baseObject;

import java.util.concurrent.CopyOnWriteArrayList;

public interface IWall{
	/**/
	
	public void init();
	/**
	 * Ajoute une brique au mur.
	 * @param brick
	 */
	public void addBrick(IBrick brick);
	
	/**
	 * Frappe les briques du mur qui sont couchées par la balle <param>b</param>
	 * @param b la balle
	 */
	public void hit(IBall b);
	
	/**
	 * Retourne la liste de toutes les briques qui constituent le mur.
	 * @return : la liste de brique
	 */
	public CopyOnWriteArrayList<IBrick> getListBrick();
	
	/**
	 * Retourne la liste des briques du mur qui sont cassables.
	 * @return : la liste des briques cassables.
	 */
	public CopyOnWriteArrayList<IBrick> getListBrickBreakeable();
	
	/**
	 * Retourne la liste des briques touchables par la balle.
	 * @param b
	 * @return
	 */
	public CopyOnWriteArrayList<IBrick> getListBrickHit(IBall b);
}
